Skip to content

Merge ngclient: a new client library implementation#1408

Merged
jku merged 14 commits intotheupdateframework:developfrom
jku:merge-ngclient
Jul 5, 2021
Merged

Merge ngclient: a new client library implementation#1408
jku merged 14 commits intotheupdateframework:developfrom
jku:merge-ngclient

Conversation

@jku
Copy link
Copy Markdown
Member

@jku jku commented May 21, 2021

This is something we've been working in experimental-client branch so far and would like to merge to develop now. It's a new client library implementation:

  • Uses Metadata API
  • Is partly based on current tuf/client/, but no longer shares any modules with it (except exceptions)
  • There's a major simplification in the way downloads are handled due to removing mirrors support
  • Tracking of valid metadata has been separated into another component
  • There's no MultiRepoUpdater or mirrors support

The implementation is roughly feature complete and ready for a test-drive.

There are still TODO-items that we'd like to handle before this could replace the current client, but we feel this would be a good time to merge so future work can be shared and is visible to everyone. Teodora has promised to post a list of things currently on our TODO-list here.

On the PR itself:

  • Review is very welcome, but I hope we can consider ngclient directory a work-in-progress, in that we can file issues instead of fixing all review items here
  • I've decided to squash the commits in this branch (the content matches experimental-client) The reasons were
    • there were a number of file moves while we were deciding what to do
    • we made decisions that we decided to back away from in the branch (but due to other changes did not use revert) so quite a few commits are just red herrings
    • there are ~100 commits and multiple merges of develop in experimental-client so history becomes a little hard to rack

If others would rather see the full history, I can make this PR from the experimental-client branch too.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants